Que son los projects de Rstudio?

  • Una manera de organizar tu workflow.
  • Están automáticamente asociados con el working directory
  • Así que podemos dejar setwd() descansar en paz y evitar problemas de archivos que no están en su sitio.

El tweet y el post que me convirtieron a este método.

Estructura

Cada proyecto tiene su propio:

  • directory
  • workspace
  • history
  • source documents

Video de como crear RStudio Projects.

Ventajas

  • Los análisis de diferentes proyectos se mantienen completamente separados.
  • Puedes tener abiertas varias sesiones de R a la vez sin que interfieran entre ellos.
  • El uso de relatives paths (./) automáticos.
  • Las direcciones de los archivos se vuelven relativas en vez de absolutas facilitando trabajar en un proyecto desde varios ordenadores.

Como crear un Project nuevo

Imagen de @Allison Horst

¿Que es RMarkdown?

Funciona en dos partes:

  • knit
    • Ejecuta el código dentro del documento.
    • Utiliza el paquete knitr
    • El output del código se vera justo debajo del código que lo ha producido.
    • Significa que cuando cambias los datos de origen de la gráficas, estas se actualizan automáticamente.

Funciona en dos partes:

  • convert
    • Puedes convertir tu archivo a muchos formatos diferentes fácilmente.
    • Rmardown utiliza el programa pandoc (esta automáticamente dentro de la instalación de rmarkdown).
    • Significa que puedes compartir tu documento en una variedad de formatos isn tener que cambiar el original.

Source

Instalacion

# install the rmarkdown package from CRAN in R
install.packages("rmarkdown")
  • Para documentos de PDF necesitas LaTeX. La version de R es TinyTeX
tinytex::install_tinytex()
# to uninstall TinyTeX, run
# tinytex::uninstall_tinytex()

Aquí puedes ver los detalles técnicos de TinyTeX y aquí los FAQ.

¿Como funciona?

Anatomia de RMarkdown

  • YAML Header
---
title: "RProjects y RMarkdown"
author: Alejandra G.Cabanillas 
output: html_document
---
  • Va al principio del documento.
  • Lo lee Pandoc, rmarkdown y knitr.
  • Describe que tipo de documento estas generando y es donde se realizan las modificacion de formato y typesetting.

Para mas información ver este video, este mini-curso o esta sección

Ventajas

  • Al integrar la creación de figuras con el análisis de datos puedes actualizar documentos de manera casi automática.
  • Facilita modificar figuras durante el proceso de edición.
  • Ahorra tiempo al hacer editar el formato deseado automáticamente (evita mover todo de sitio cuando cambias una imagen)

Integracion con Rstudio Projects

  • Lo único que debes hacer es guardar tu documento de markdown (.Rmd) en el directorio de el Project
  • Cualquier imagen o datos que vayan a ser utilizados en el documento también deben estar en el mismo directorio.

Ejemplo de organizacion en un Project

Differencias entre un Script y un documento de Markdown

  • En un script todo es código que va a ser ejecutado (menos los comentarios)
  • En R Markdown solo los chunks son ejecutables.
  • Un archivo de R Markdown es básicamente texto con secciones ejecutables.
  • Piensa en ello como un procesador de texto muy flexible con R integrado.

Integrando codigo de R en tu documento

  • Crean nuestros reportes dinámicos y mantienen el documento sincronizado.
  • Funciona así:

Como inlcuir tu codigo:

  • Chunk:
x <- 5  # radius of a circle
  • In-line

Para un circulo con radio 5, su área es 78.5398163.

  • En la linea anterior los valores han sido calculados directamente desde las variables asignadas. En el documento se ve así :
Para un circulo con radio `r x`, su área es `r pi * x^2`

Opciones disponibles

  • include = FALSE Ejecuta el código pero no lo enseña en el documento. R Markdown puede utilizar ese output en el resto del documento.
  • echo = FALSE Evita que el código se ejecute. Pero enseña los resultados. Es una manera muy practica de incluir gráficos.
  • message = FALSE Evita que los mensajes producidos por el código se muestren en el documento. Por ejemplo cuando instalamos paquetes o una gráfica no esta del todo ajustada.
  • warning = FALSE Evita que se muestren los mensajes de error en el documento final. Es muy completamente cuando solo quieres enseñar un trozo de código complejo y no ejecutarlo completamente.

Hay mas de 50 opciones que pueden modificar los chunks dependiendo de tus necesidades.

Lista completa

Integrando imagenes

Generando figuras

  • Escribe el código necesario para generala dentro de un chunk
  • Utiliza las opciones de los chunks para modificar el tamaño y agregar leyendas.

Aqui para un ejemplo en detalle, también esta en mas detalle en el seminario 2.

Añadir una leyenda

  • Simplemente vamos a agregar fig.cap = “tu leyenda” en las opciones del chunk
plot(mpg ~ hp, mtcars)
Un ejemplo en R base

Un ejemplo en R base

Añadir una imagen ya guardada

  • Especifica donde esta.
  • Que formato es.
  • El tamaño deseado.
  • También puedes utilizar fig.cap
``{r,  echo = FALSE, out.width="100%"} 
knitr::include_graphics("./images/chunks.png")
``

Que pasa si quieres aplicar un script externo?

  • Se utiliza de la misma manera que en un archivo .R
source("your-script.R", local = knitr::knit_global())
# or sys.source("your-script.R", envir = knitr::knit_global())

Programmatic reporting

  • Cuando todo lo anterior es aplicado dentro de un documento tenemos lo que se conoce como Programmatic reporting.
  • Un documento que se actualiza fácilmente cuando cambian los datos que se han utilizado para generarlo.

Todo lo que ya habeis aprendido en version CV

  • Programming Language: R
  • Exploratory Data Analysis tools: tidyverse
  • Dataviz tools: ggplot2
  • Programmatic reporting: RMarkdown

Source

Referencias